package com.kakame.codenews.base.config.system;

import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.builder.fluent.Configurations;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * <pre>
 * <b>desc:</b> 读取配置信息
 * <b>auth:</b> 何家明
 * <b>date:</b> 2018年5月31日 上午10:04:00
 * </pre>
 */
@Order(1)
@Component
public class SystemConfig {
    
    private static Configuration config;

    static {
        try {
            config = new Configurations().properties("system/system.properties");
        } catch (ConfigurationException e) {
            e.printStackTrace();
        }
    }

    /**
     * <pre>
     * <b>desc:</b> 得到一个整数属性 
     * <b>auth:</b> 何家明
     * <b>date:</b> 2018年5月31日 下午1:40:07
     * </pre>
     * @param key
     * @return
     */
    public static Integer getInt(String key) {
        return config.getInt(key);
    }

    /**
     * <pre>
     * <b>desc:</b> 得到一个长整数属性 
     * <b>auth:</b> 何家明
     * <b>date:</b> 2018年5月31日 下午1:40:17
     * </pre>
     * @param key
     * @return
     */
    public static Long getLong(String key) {
        return config.getLong(key);
    }

    /**
     * <pre>
     * <b>desc:</b> 得到一个字符串属性 
     * <b>auth:</b> 何家明
     * <b>date:</b> 2018年5月31日 下午1:40:35
     * </pre>
     * @param key
     * @return
     */
    public static String get(String key) {
        return config.getString(key);
    }
}
